Block acknowledgement request apparatus, systems, and methods

ABSTRACT

Embodiments of block acknowledgements request apparatus, systems, and methods are generally described herein. Other embodiments may be described and claimed. An originator operating in a frame-aggregating mode sends a multiple-frame data block to a receiver. The block may include a header for each frame. The header may have an indicator set to indicate a block acknowledgement request. When the multiple-frame block is received with the header of each frame indicating a block acknowledgement request, the receiver may respond with a block acknowledgement for the entire block of frames, without waiting for a separate block acknowledgement request to be sent by the originator following the multiple-frame block.

BACKGROUND

The inventive subject matter pertains to communication systems and, more particularly, to wireless transmission and reception of data in a communication system.

In modern communication systems, data typically is sent in packet form from one communication node through a network to another communication node. These packets typically include one or more headers and a payload, which is the useful data to be sent, received and used by the communication nodes. Such data transmissions in a Media Access Control (MAC) protocol may take place at a relatively low transmission rate.

During transmit and receive operations, handshaking occurs to acknowledge the proper receipt of transmitted data. An acknowledgement is typically requested by a transmitting node after sending a block of data. If errors occur, an error acknowledgement is returned to the transmitting node, and the data is transmitted.

Often the acknowledgement request must be repeated. The acknowledgement request may be repeated in subsequent physical layer protocols, thereby further lowering the overall transmission rate.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a communication system in accordance with various embodiments of the present invention.

FIG. 2 is a layout of a media access control protocol header depicting various embodiments for implementing a block acknowledgement request.

FIG. 3 is a table layout of an indicator of the media access control protocol header depicting various embodiments of the present invention.

FIG. 4 is a layout of a multiple-frame data block in accordance with various embodiments of the present invention.

FIG. 5 is a flowchart of various transmission methods for block acknowledgement control in accordance with various embodiments of the present invention.

FIG. 6 is a flowchart of various reception methods for block acknowledgement control in accordance with various embodiments of the present invention.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of a communication system 100 in accordance with various embodiments of the present invention. The communication system 100 has a wireless transmitter 10. The wireless transmitter 10 is coupled to an analog-to-digital/digital-to-analog converter (ADC) and a transmitter/receiver (Tx/Rx) 11. The ADC &Tx/Rx 11 converts signals from digital to analog in the transmit direction and from analog to digital in the receive direction of wireless transmitter 10. Wireless transmitters is also coupled to a processor 13. Processor 13 control operation of transmitter 10.

ADC &Tx/Rx 11 is coupled to an antenna 12. Antenna 12 may be a directional or omni-directional antenna, including, for example and not by way of limitation, a dipole antenna, a monopole antenna, a patch antenna, a loop antenna, a microstrip antenna, or various other types of antennas suitable for transmission and/or reception of data signals. In some embodiments, the wireless transmitter may have multiple antennas.

The communication system 100 also has a wireless receiver 20. Wireless receiver 20 is coupled to an analog-to-digital/digital-to-analog converter (ADC) and transmitter/receiver (Tx/Rx) 21. ADC &Tx/Rx 21 converts signals from digital to analog in the transmit direction and from analog to digital in the receive direction of wireless receiver 20. Wireless receiver 20 is also coupled to processor 23. Processor 23 controls operation of receiver 20.

ADC &Tx/Rx 21 is coupled to an antenna 22. Antenna 22 may be a directional or omni-directional antenna, including, for example and not by way of limitation, a dipole antenna, a monopole antenna, a patch antenna, a loop antenna, a microstrip antenna, or various other types of antennas suitable for transmission and/or reception of data signals. In some embodiments, the wireless receiver 20 may have multiple antennas.

Wireless network 30 couples the transmitter 10 to the receiver 20 for the transfer of data. The roles of the transmitter 10 and the receiver 20 may be reversed, in that the transmitter 10 may receive and the receiver 20 may transmit data. Wireless network 30 may be a single wireless network in one embodiment, or in other embodiments wireless network 30 may be any combination of wireless and wireline networks. Wireless network 30 may in other embodiments comprise a wireless local area network (WLAN), wireless personal area network (WPAN) and/or wireless metropolitan area network (WMAN).

Communication system 100 of FIG. 1 may be one in which the Standards of the Institute of Electrical and Electronic Engineering (IEEE), Standards 802.11, published in 1998 together with subsequent amendments apply. The IEEE 802.11 Standard currently provides a definition for media access control (MAC) headers and services. In 2003, an IEEE 802.11 Task Group n (TGn) was created. TGn's objective is to define modifications to the Physical Layer (PHY) and MAC layer to deliver a throughput of at least 100 megabits per second. The IEEE 802.11n Standards are currently at the proposal stage. Several proposals exist. A further objective of the 802.11n Standards is to be downward-compatible with Standards 802.11 a/b/g.

Previous standards, such as the draft IEEE 802.11e standard, call for a handshaking arrangement between transmitter and receiver. In this arrangement, a block of data frames is sent, but each individual data frame is sent as a separate transmission. Each data frame has it's acknowledge (ack) policy set to “1, 1,” indicating block acknowledgement (BA). Next, the originator sends a separate block acknowledgement request (BAR) frame to solicit a BA response. The recipient then, in turn, responds with a (BA) frame.

The transmitter may also choose to solicit a normal acknowledgement for an individual data frame. This is achieved by setting the ack policy on an individual data frame to “0, 0” which will cause the recipient to respond with a normal ack (acknowledge) frame.

With the high data rate desired for IEEE Standard 802.11n, scope exists for improving the efficiency of this exchange. One key enhancement is the aggregation of multiple data frames into a single transmission. When doing this, the conventional acknowledgement mechanism described may be modified to improve efficiency further.

In an embodiment of the invention, wireless transmitter may perform non-aggregate or aggregate transmissions. In an aggregate transmission, wireless transmitter 10 aggregates one or more data frames into a block that is then sent as a single transmission. An aggregate transmission is signaled either implicitly by the nature of the transmission or explicitly with a signaling field at the head of the transmission.

If a block acknowledgement is required for the aggregated data, then the wireless transmitter 10 will set the ack policy in each data frame in the aggregate transmission to “0, 0” (normal ack policy).

If the wireless transmitter 10 chooses to solicit the block acknowledgement using a conventional BAR frame (either in the same transmission or a subsequent transmission), then each data frame in the aggregate transmission will have its ack policy set or flag to “1, 1” (block ack policy).

The use of normal ack policy thus has a new meaning: when used in a data frame in a non-aggregate transmission, the normal ACK policy solicits an ACK frame from the recipient. When set in one or more data frames in an aggregate transmission, the normal ACK policy solicits a BA frame from the recipient

The aggregate transmission is sent from transmitter 10, through ADC &Tx/Rx 11, through antenna 12, through wireless network 30, through antenna 22, through ADC &Tx/Rx 21 to wireless receiver 20.

Wireless receiver 20 receives the aggregate transmission, identifies it as an aggregate transmission and parses it to extract the individual data frames. One or more of the data frames may not be received due to transmission errors. If the ACK policy of one or more of the successfully received data frames is set to “0, 0” (normal acknowledgment), then receiver 20 sends a BA to transmitter 10. Otherwise, the conventional acknowledgement policy as defined in the current IEEE 802.11 Standard is followed.

Thus, a field in the header of the data frames making up an aggregate transmission is used to request a BA, rather than the transmitter 10 transmitting a separate BAR frame. The BAR may still be used, as needed, for sequence number synchronization and for flushing a reorder buffer when data frames are discarded by the transmitter 10. Soliciting a BA using a field in the header of each data frame, making up an aggregated may improve reliability over sending a separate BAR frame, especially if that BAR frame is aggregate with the data in the same transmission, since the solicitation is repeated in each data frame. Elimination of the BAR may also remove ambiguity when no BA response is received. No BA response will be received if either none of the data frames were received or the response transmission was not detected by the originator. Because the latter is far less likely (signal detection is far more robust than demodulation), full retransmit can be done immediately rather than resending a BAR, receiving a BA, and then retransmitting the full aggregated block.

When the BA is received by the transmitter 10, the identity of properly received frames is included in the BA. If any errors occur, only frames of the block that were not acknowledged are re-transmitted by transmitter 10. If the block acknowledgement is not received by transmitter 10, then all frames of the multiple-frame block require re-transmission.

FIG. 2 is a layout 200 of a media access control protocol header 201 depicting various embodiments for implementing a BAR. The media access control (MAC) header 201 is concatenated with the frame body 205. In an embodiment, the frame body 205 may include from zero to several thousand octets of data. An octet is 8 bits or a byte.

The BA solicitation is signaled in the Quality of Service (QoS) Control field 203. For example, the QoS Control field 203 is may be two octets in length. The specific settings for the BA solicitation will be explained infra.

FIG. 3 is a table layout 300 of ack policy field in the QoS Control field of the media access control protocol header depicting various embodiments of the present invention. Bits 301 and 302 of the Ack (Acknowledge) Policy field 203 (refer to FIG. 2) indicate the policy for acknowledgement or other handshaking between the transmitter 10 (FIG. 1) and the receiver 20. Bits 301 and 302 are referred to as bits 5 and 6 for block acknowledgement modes.

Bits 5 and 6 for values of: 0, 1 indicate no BA requested; 1, 0 indicate no explicit BA requested; and 1, 1 indicate BA requested after each block.

When the values 303 and 304 of bits 301 and 302 respectively are 0, 0 as shown in FIG. 3, two meanings are possible for this configuration. The first meaning is to return a BA, if the frame was received in a non-aggregate transmission.

The second meaning 305 of the policy for handshaking indicates that if an aggregate transmission was received, a BA is to be returned to the originator immediately following the aggregate transmission.

So for various embodiments of the present invention, the second meaning 305 controls the handshaking policy in an aggregate, multiple-frame transmission. Therefore, only one BA is sent for the entire transmission of multiple frames of data. This BA is sent in response to the BA solicitation signaled in the header 201 (e.g. in the QoS Control field 203, FIG. 2) of each data frame. A separate BAR need not be sent following transmission of the block of frames. This may improve the transmission efficiency.

FIG. 4 is a layout of a multiple-frame data block in accordance with various embodiments of the present invention. A multiple-frame data block 400 may have N data frames generally shown as 401, 402, and 403. Although FIG. 4 depicts three data frames, the multiple-frame data block 400 may include additional or fewer data frames.

In an embodiment, bits 5 and 6 (301, 302 of FIG. 3) of the MAC header of each data frame are set to 0, 0. As a result, when the N data frames 401-403 are received by a receiver, only one BA is returned to the originator for the entire multiple-frame data block 400. Thereby considerable savings may be obtained over returning a BA to the originator after each data frame by the elimination of all BA messages and BARs, except the last one. In addition, no separate BAR needs to be sent by the originator following transmission of the multiple-frame data block 400, which may potentially improve the transmission efficiency.

FIG. 5 is a flowchart of various transmission methods 500 for block acknowledgement control in accordance with various embodiments of the present invention. The transmit behavior flow may begin at block 501. Block 501 comprises waiting until one or more frames of data are ready for transmission by transmitter 10. Multiple frames are aggregated into a single multiple-frame data block for transmission. This data block 400 is shown in FIG. 4.

In block 503, a determination is made whether a block acknowledgement request (BAR) is required for the data transmission. If a traditional BAR is required (e.g. for sequence number synchronization), block 503 transfers control to block 505 via the YES path. In block 505, bits 5, 6 (301, 302) of the ACK policy are set to 1, 1 in each data frame, and a BAR is appended to the data frames for transmission. Control is transferred to block 509.

In various embodiments of the present invention, no BAR is required, and block 503 transfers control to block 507 via the NO path. Bits 5, 6 (301, 302) of the ACK policy are set to 0, 0 in each data frame. Control is then transferred to block 509.

Block 509 transmits the multiple frames of data as a single aggregate data block with the appropriate acknowledgement policy in each MAC header. Block 511 then waits for BA to be received. If a BA is not received, block 511 transfers control to block 513 via the NO path. Block 513 re-transmits all data frames to the receiver. Then the method is ended.

If the BA is received, as is typically the case, block 511 transfers control to block 515 via the YES path. Block 515 may then retransmit any data frames that the BA indicated were received with an error, while eliminating from retransmission any properly received data frames. The method is then ended.

FIG. 6 is a flowchart of various reception methods for block acknowledgement control in accordance with various embodiments 600 of the present invention. The receive behavior flow may begin at block 602. Block 602 determines whether a receiver (e.g. the receiver 20) received data frame transmission with aggregated frames of data from a transmitter (e.g. the transmitter 10). If not, the block 602 transfers control via the NO path to block 606. Block 606 handles the data reception and acknowledgement in a suitable, non-aggregate, conventional manner. The method is then ended.

If the receiver 20 received an aggregate transmission, block 602 transfers control to block 604 via the YES path. Block 604 then determines whether the data frames have been received with the ACK policy bits 5 and 6 set to 0, 0. If not, block 604 transfers control to block 606 via the NO path. Block 606 handles the data reception in a suitable, non-aggregate, conventional manner. The method is then ended.

If the ACK policy bit were set to 0, 0, block 604 transfers control to block 608 via the YES path. Block 608 prepares a single block acknowledgement, BA, for transmission to the transmitter 10. The BA may identify which data frames were received without error by the receiver 20. Then, the BA is transmitted to the transmitter 10. The method is then ended.

It should be noted that the methods described herein do not have to be executed in the order described, or in any particular order. Moreover, various activities described with respect to the methods identified herein can be executed in parallel fashion. It will be understood that although “Start” and “End” blocks are shown, the methods may be performed continuously.

The Abstract is provided to comply with 37 C.F.R. §1.72(b) requiring an Abstract that will allow the reader to ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.

In the foregoing Detailed Description, various features are occasionally grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments of the subject matter require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate preferred embodiment. Individual claims may encompass multiple embodiments of the inventive subject matter.

Although some embodiments of the invention have been illustrated, and those forms described in detail, it will be readily apparent to those skilled in the art that various modifications may be made therein without departing from the spirit of these embodiments or from the scope of the appended claims. 

1. A method comprising: receiving by a receiver in a wireless network a data block with a media access control header; soliciting by a flag in the media access control header a block acknowledgement; and responsive to the soliciting, sending by the receiver the block acknowledgement to an originator.
 2. The method as claimed in claim 1, further including transmitting by a transmitter the data block with the media access control header.
 3. The method as claimed in claim 1, wherein responsive to receiving the data block, there is further included sending by the receiver the block acknowledgement identifying any frames not properly received.
 4. The method as claimed in claim 1, wherein receiving comprises receiving one or more frames in the data block in a single transmission, each frame including the media access control header.
 5. The method as claimed in claim 4, the soliciting the block acknowledgement includes soliciting the block acknowledgement in a control field of each of one or more media access control headers corresponding to the one or more of frames.
 6. The method as claimed in claim 5, further including determining by the receiver whether the single transmission is received.
 7. The method as claimed in claim 6, further comprising determining whether the flag for the one or more media access control headers is set to solicit a block acknowledgement, if the data block is received in a single transmission.
 8. The method as claimed in claim 7, further comprising sending the block acknowledgement by the receiver to the originator if the flag to solicit a block acknowledgement is set for any of a correctly received one or more media access control headers.
 9. The method as claimed in claim 7, further comprising inhibiting the receiver from sending the block acknowledgement, if the flag to solicit the block acknowledgement is not set for any of the correctly received one or more media access control headers.
 10. A machine-readable medium that provides instructions, which when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving a single transmission including a plurality of data frames from an originator by a receiver via at least one wireless network; and sending a block acknowledgement by the receiver to the originator responsive to a receipt of the plurality of data frames and responsive to a solicitation for block acknowledgement in a header of at least one of the plurality of data frames.
 11. The machine-readable medium as claimed in claim 10, further including setting a flag in a control field of each of a plurality of frames to solicit the block acknowledgement.
 12. The machine-readable medium as claimed in claim 11, wherein the instructions when executed, cause the one or more processors to determine by the receiver whether the plurality of data frames is received.
 13. The machine-readable medium as claimed in claim 12, wherein the instructions when executed, cause the one or more processors to determine whether the flag to solicit block acknowledgement is set if the plurality of data frames is received.
 14. The machine-readable medium as claimed in claim 13, wherein the instructions when executed, cause the one or more processors to send a single block acknowledgement for the data frames received if the flag is set to solicit block acknowledgement.
 15. A system comprising: a field in a media access control header being set to solicit a block acknowledgement; an omni-directional antenna to receive in a single transmission a data block including of one or more frames each with a media access control header; and a receiver coupled to the omni-directional antenna to generate a block acknowledgement responsive to a receipt of the multiple-frame data block in which one or more of the data frames have the field set to solicit a block acknowledgment.
 16. The system as claimed in claim 16, the omni-directional antenna including a plurality of antennas.
 17. The system as claimed in claim 15, further comprising a processor to determine whether the field in the media access control header solicits a block acknowledgement.
 18. The system as claimed in claim 17, wherein when the field soliciting a block acknowledgement is set, the program enables the receiver to transmit the block acknowledgement to a transmitter coupled to the omni-directional antenna.
 19. The system as claimed in claim 15, wherein there is further included a wireless local area network to couple the receiver and a transmitter.
 20. The system as claimed in claim 19, wherein the transmitter and the receiver comprise a portion of a wireless local area network operating in accordance with the Institute of Electronics and Electrical Engineers Standards Sections 802.11e and/or 802.11n.
 21. A device comprising: a wireless receiver to receive a plurality of data frames, each data frame including a header having a flag to solicit a block acknowledgement; a processor coupled to the receiver, the processor to operate the receiver under control of a program; and the receiver, responsive to receipt of the plurality of data frames and to the flag for soliciting the block acknowledgment to generate a block acknowledgement.
 22. The device as claimed in claim 21, wherein the plurality of data frames are aggregated into a single transmission.
 23. The device as claimed in claim 21, the flag is set in a control field of a media access control header for each of the plurality of data blocks.
 24. The device as claimed in claim 23, the program operates the receiver to detect the flag being set in each of the plurality of data blocks.
 25. The device as claimed in claim 24, wherein when the flag is not set in any of the plurality of data frames, the program operates the receiver to inhibit generating a block acknowledgement.
 26. The device as claimed in claim 21, wherein when the flag is set in any of the plurality of data frames in the single transmission, the program operates the receiver to generate a single block acknowledgement.
 27. The device as claimed in claim 21, wherein the receiver is coupled to a wireless network. 